public class Demo_1100 {
    public static void main(String[] args) throws InterruptedException{

        Result result = new Result();

        //创建一个线程进行累加操作
        Thread t = new Thread(){
            public void run(){
                int sum = 0;
                for (int i=0;i<=1000;i++){
                    sum += i;
                }
                //为结果赋值
                result.sum = sum;
                //唤醒等待的线程
               synchronized (result.lock){
                   result.lock.notify();
               }
            }
        };
        //启动线程
        t.start();

        //要主线程中获取结果，这时t还没有完成计算
        synchronized (result.lock){
            //检查累加是否执行完成
            while (result.sum == 0){
                //没有累加完成，等待结果
                result.lock.wait();
            }
            //打印结果
            System.out.println(result.sum);
        }
    }
}


//创建一个类Result,包含一个sum表示最终结果，lock表示线程同步使用的锁对象
class Result{
    //累加和
    public int sum = 0;
    //锁对象
    public Object lock = new Object();  //创建一个对象的实例
}
